package com.shenmazong.serveruserapi.util;

import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;

public class TokenUtil {
    public static String getToken(Integer userId, String nickName) {
        JwtBuilder builder = Jwts.builder();
        builder.setId(String.valueOf(userId));  //设置唯一编号
        builder.setSubject(nickName);           //设置主题  可以是JSON数据
        builder.setIssuedAt(new Date());        //设置签发日期

        // 设置过期时间（24小时）
        long now = System.currentTimeMillis();
        long exp = now+1000*60*60*24;
        builder.setExpiration( new Date( exp ) );

        // 增加角色设置
        builder.claim( "roles","admin" );

        // 设置签名 使用HS256算法，并设置SecretKey(字符串)
        builder.signWith(SignatureAlgorithm.HS256, ConstUtil.TOKEN_PASS_WORD);

        // 构建 并返回一个字符串
        String token = builder.compact();

        return token;
    }
}
